#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int Maxn=107;
int n,k;
int a[Maxn];
int ned[Maxn];
int col[Maxn];
map<int,int>S;
ll ans=1e11;

void dfs(int p){
    if(p>n){
        bool tag=1;
        
        ll res=0;

        for(int i=1;i<=k;i++){
            int mx=0,mn=2e9;
            S.clear();
            for(int j=1;j<=n;j++){
                if(col[j]==i){
                    if(S[a[j]]) tag=0;
                    S[a[j]]=1;
                    mx=max(mx,a[j]);
                    mn=min(mn,a[j]);
                }  
            }
            res+=mx-mn;
        }
        if(!tag) return ;
        // cout<<"col\n";
        // for(int i=1;i<=n;i++) cout<<col[i]<<" ";
        // puts("");
        // cout<<res<<endl<<endl;
        ans=min(ans,res);
        return ;
    }
    for(int i=1;i<=k;i++){
        if(ned[i]==n/k) continue;
        ned[i]++;
        col[p]=i;
        dfs(p+1);
        ned[i]--;
    }
}

int main(){
    freopen("diyiti.in","r",stdin);
    freopen("diyiti.out","w",stdout);
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);

    dfs(1);
    if(ans==1e11){
        puts("-1");
        return 0;
    }
    printf("%lld",ans);

    return 0;
}